package com.microframework.base.core.redis.config;

import org.springframework.boot.context.properties.ConfigurationProperties;

import lombok.Data;

/**
 * Redis属性配置
 */
@Data
@ConfigurationProperties(prefix = "spring.data.redis")
public class RedisProperties {
    
    /**
     * Redis服务器地址
     */
    private String host = "localhost";
    
    /**
     * Redis服务器端口
     */
    private int port = 6379;
    
    /**
     * Redis服务器密码
     */
    private String password;
    
    /**
     * 数据库索引
     */
    private int database = 0;
    
    /**
     * 连接超时时间（毫秒）
     */
    private int timeout = 10000;
    
    /**
     * 连接池配置
     */
    private Pool pool = new Pool();
    
    /**
     * 连接池配置类
     */
    @Data
    public static class Pool {
        /**
         * 最大连接数
         */
        private int maxActive = 8;
        
        /**
         * 最大空闲连接数
         */
        private int maxIdle = 8;
        
        /**
         * 最小空闲连接数
         */
        private int minIdle = 0;
        
        /**
         * 获取连接时的最大等待时间（毫秒）
         */
        private long maxWait = -1;
    }
} 